﻿namespace Library

type Color = 
   struct
      val A:byte
      val R:byte
      val G:byte
      val B:byte
   end
   new (a,r,g,b) = { A=a; R=r; G=g; B=b }

module internal Brush =
    let From (color:Color) =
        System.Windows.Media.SolidColorBrush(
            System.Windows.Media.Color.FromArgb(color.A,color.R,color.G,color.B)
        )

module Colors =

    let AliceBlue = Color(255uy,240uy,248uy,255uy)
    let AntiqueWhite = Color(255uy,250uy,235uy,215uy)
    let Aqua = Color(255uy,0uy,255uy,255uy)
    let Aquamarine = Color(255uy,127uy,255uy,212uy)
    let Azure = Color(255uy,240uy,255uy,255uy)
    let Beige = Color(255uy,245uy,245uy,220uy)
    let Bisque = Color(255uy,255uy,228uy,196uy)
    let Black = Color(255uy,0uy,0uy,0uy)
    let BlanchedAlmond = Color(255uy,255uy,235uy,205uy)
    let Blue = Color(255uy,0uy,0uy,255uy)
    let BlueViolet = Color(255uy,138uy,43uy,226uy)
    let Brown = Color(255uy,165uy,42uy,42uy)
    let BurlyWood = Color(255uy,222uy,184uy,135uy)
    let CadetBlue = Color(255uy,95uy,158uy,160uy)
    let Chartreuse = Color(255uy,127uy,255uy,0uy)
    let Chocolate = Color(255uy,210uy,105uy,30uy)
    let Coral = Color(255uy,255uy,127uy,80uy)
    let CornflowerBlue = Color(255uy,100uy,149uy,237uy)
    let Cornsilk = Color(255uy,255uy,248uy,220uy)
    let Crimson = Color(255uy,220uy,20uy,60uy)
    let Cyan = Color(255uy,0uy,255uy,255uy)
    let DarkBlue = Color(255uy,0uy,0uy,139uy)
    let DarkCyan = Color(255uy,0uy,139uy,139uy)
    let DarkGoldenrod = Color(255uy,184uy,134uy,11uy)
    let DarkGray = Color(255uy,169uy,169uy,169uy)
    let DarkGreen = Color(255uy,0uy,100uy,0uy)
    let DarkKhaki = Color(255uy,189uy,183uy,107uy)
    let DarkMagenta = Color(255uy,139uy,0uy,139uy)
    let DarkOliveGreen = Color(255uy,85uy,107uy,47uy)
    let DarkOrange = Color(255uy,255uy,140uy,0uy)
    let DarkOrchid = Color(255uy,153uy,50uy,204uy)
    let DarkRed = Color(255uy,139uy,0uy,0uy)
    let DarkSalmon = Color(255uy,233uy,150uy,122uy)
    let DarkSeaGreen = Color(255uy,143uy,188uy,143uy)
    let DarkSlateBlue = Color(255uy,72uy,61uy,139uy)
    let DarkSlateGray = Color(255uy,47uy,79uy,79uy)
    let DarkTurquoise = Color(255uy,0uy,206uy,209uy)
    let DarkViolet = Color(255uy,148uy,0uy,211uy)
    let DeepPink = Color(255uy,255uy,20uy,147uy)
    let DeepSkyBlue = Color(255uy,0uy,191uy,255uy)
    let DimGray = Color(255uy,105uy,105uy,105uy)
    let DodgerBlue = Color(255uy,30uy,144uy,255uy)
    let Firebrick = Color(255uy,178uy,34uy,34uy)
    let FloralWhite = Color(255uy,255uy,250uy,240uy)
    let ForestGreen = Color(255uy,34uy,139uy,34uy)
    let Fuchsia = Color(255uy,255uy,0uy,255uy)
    let Gainsboro = Color(255uy,220uy,220uy,220uy)
    let GhostWhite = Color(255uy,248uy,248uy,255uy)
    let Gold = Color(255uy,255uy,215uy,0uy)
    let Goldenrod = Color(255uy,218uy,165uy,32uy)
    let Gray = Color(255uy,128uy,128uy,128uy)
    let Green = Color(255uy,0uy,128uy,0uy)
    let GreenYellow = Color(255uy,173uy,255uy,47uy)
    let Honeydew = Color(255uy,240uy,255uy,240uy)
    let HotPink = Color(255uy,255uy,105uy,180uy)
    let IndianRed = Color(255uy,205uy,92uy,92uy)
    let Indigo = Color(255uy,75uy,0uy,130uy)
    let Ivory = Color(255uy,255uy,255uy,240uy)
    let Khaki = Color(255uy,240uy,230uy,140uy)
    let Lavender = Color(255uy,230uy,230uy,250uy)
    let LavenderBlush = Color(255uy,255uy,240uy,245uy)
    let LawnGreen = Color(255uy,124uy,252uy,0uy)
    let LemonChiffon = Color(255uy,255uy,250uy,205uy)
    let LightBlue = Color(255uy,173uy,216uy,230uy)
    let LightCoral = Color(255uy,240uy,128uy,128uy)
    let LightCyan = Color(255uy,224uy,255uy,255uy)
    let LightGoldenrodYellow = Color(255uy,250uy,250uy,210uy)
    let LightGray = Color(255uy,211uy,211uy,211uy)
    let LightGreen = Color(255uy,144uy,238uy,144uy)
    let LightPink = Color(255uy,255uy,182uy,193uy)
    let LightSalmon = Color(255uy,255uy,160uy,122uy)
    let LightSeaGreen = Color(255uy,32uy,178uy,170uy)
    let LightSkyBlue = Color(255uy,135uy,206uy,250uy)
    let LightSlateGray = Color(255uy,119uy,136uy,153uy)
    let LightSteelBlue = Color(255uy,176uy,196uy,222uy)
    let LightYellow = Color(255uy,255uy,255uy,224uy)
    let Lime = Color(255uy,0uy,255uy,0uy)
    let LimeGreen = Color(255uy,50uy,205uy,50uy)
    let Linen = Color(255uy,250uy,240uy,230uy)
    let Magenta = Color(255uy,255uy,0uy,255uy)
    let Maroon = Color(255uy,128uy,0uy,0uy)
    let MediumAquamarine = Color(255uy,102uy,205uy,170uy)
    let MediumBlue = Color(255uy,0uy,0uy,205uy)
    let MediumOrchid = Color(255uy,186uy,85uy,211uy)
    let MediumPurple = Color(255uy,147uy,112uy,219uy)
    let MediumSeaGreen = Color(255uy,60uy,179uy,113uy)
    let MediumSlateBlue = Color(255uy,123uy,104uy,238uy)
    let MediumSpringGreen = Color(255uy,0uy,250uy,154uy)
    let MediumTurquoise = Color(255uy,72uy,209uy,204uy)
    let MediumVioletRed = Color(255uy,199uy,21uy,133uy)
    let MidnightBlue = Color(255uy,25uy,25uy,112uy)
    let MintCream = Color(255uy,245uy,255uy,250uy)
    let MistyRose = Color(255uy,255uy,228uy,225uy)
    let Moccasin = Color(255uy,255uy,228uy,181uy)
    let NavajoWhite = Color(255uy,255uy,222uy,173uy)
    let Navy = Color(255uy,0uy,0uy,128uy)
    let OldLace = Color(255uy,253uy,245uy,230uy)
    let Olive = Color(255uy,128uy,128uy,0uy)
    let OliveDrab = Color(255uy,107uy,142uy,35uy)
    let Orange = Color(255uy,255uy,165uy,0uy)
    let OrangeRed = Color(255uy,255uy,69uy,0uy)
    let Orchid = Color(255uy,218uy,112uy,214uy)
    let PaleGoldenrod = Color(255uy,238uy,232uy,170uy)
    let PaleGreen = Color(255uy,152uy,251uy,152uy)
    let PaleTurquoise = Color(255uy,175uy,238uy,238uy)
    let PaleVioletRed = Color(255uy,219uy,112uy,147uy)
    let PapayaWhip = Color(255uy,255uy,239uy,213uy)
    let PeachPuff = Color(255uy,255uy,218uy,185uy)
    let Peru = Color(255uy,205uy,133uy,63uy)
    let Pink = Color(255uy,255uy,192uy,203uy)
    let Plum = Color(255uy,221uy,160uy,221uy)
    let PowderBlue = Color(255uy,176uy,224uy,230uy)
    let Purple = Color(255uy,128uy,0uy,128uy)
    let Red = Color(255uy,255uy,0uy,0uy)
    let RosyBrown = Color(255uy,188uy,143uy,143uy)
    let RoyalBlue = Color(255uy,65uy,105uy,225uy)
    let SaddleBrown = Color(255uy,139uy,69uy,19uy)
    let Salmon = Color(255uy,250uy,128uy,114uy)
    let SandyBrown = Color(255uy,244uy,164uy,96uy)
    let SeaGreen = Color(255uy,46uy,139uy,87uy)
    let SeaShell = Color(255uy,255uy,245uy,238uy)
    let Sienna = Color(255uy,160uy,82uy,45uy)
    let Silver = Color(255uy,192uy,192uy,192uy)
    let SkyBlue = Color(255uy,135uy,206uy,235uy)
    let SlateBlue = Color(255uy,106uy,90uy,205uy)
    let SlateGray = Color(255uy,112uy,128uy,144uy)
    let Snow = Color(255uy,255uy,250uy,250uy)
    let SpringGreen = Color(255uy,0uy,255uy,127uy)
    let SteelBlue = Color(255uy,70uy,130uy,180uy)
    let Tan = Color(255uy,210uy,180uy,140uy)
    let Teal = Color(255uy,0uy,128uy,128uy)
    let Thistle = Color(255uy,216uy,191uy,216uy)
    let Tomato = Color(255uy,255uy,99uy,71uy)
    let Transparent = Color(0uy,255uy,255uy,255uy)
    let Turquoise = Color(255uy,64uy,224uy,208uy)
    let Violet = Color(255uy,238uy,130uy,238uy)
    let Wheat = Color(255uy,245uy,222uy,179uy)
    let White = Color(255uy,255uy,255uy,255uy)
    let WhiteSmoke = Color(255uy,245uy,245uy,245uy)
    let Yellow = Color(255uy,255uy,255uy,0uy)
    let YellowGreen = Color(255uy,154uy,205uy,50uy)

[<AutoOpen>]
module colors =
    open Colors
    let aliceBlue = AliceBlue
    let antiqueWhite = AntiqueWhite
    let aqua = Aqua
    let aquamarine = Aquamarine
    let azure = Azure
    let beige = Beige
    let bisque = Bisque
    let black = Black
    let blanchedAlmond = BlanchedAlmond
    let blue = Blue
    let blueViolet = BlueViolet
    let brown = Brown
    let burlyWood = BurlyWood
    let cadetBlue = CadetBlue
    let chartreuse = Chartreuse
    let chocolate = Chocolate
    let coral = Coral
    let cornflowerBlue = CornflowerBlue
    let cornsilk = Cornsilk
    let crimson = Crimson
    let cyan = Cyan
    let darkBlue = DarkBlue
    let darkCyan = DarkCyan
    let darkGoldenrod = DarkGoldenrod
    let darkGray = DarkGray
    let darkGreen = DarkGreen
    let darkKhaki = DarkKhaki
    let darkMagenta = DarkMagenta
    let darkOliveGreen = DarkOliveGreen
    let darkOrange = DarkOrange
    let darkOrchid = DarkOrchid
    let darkRed = DarkRed
    let darkSalmon = DarkSalmon
    let darkSeaGreen = DarkSeaGreen
    let darkSlateBlue = DarkSlateBlue
    let darkSlateGray = DarkSlateGray
    let darkTurquoise = DarkTurquoise
    let darkViolet = DarkViolet
    let deepPink = DeepPink
    let deepSkyBlue = DeepSkyBlue
    let dimGray = DimGray
    let dodgerBlue = DodgerBlue
    let firebrick = Firebrick
    let floralWhite = FloralWhite
    let forestGreen = ForestGreen
    let fuchsia = Fuchsia
    let gainsboro = Gainsboro
    let ghostWhite = GhostWhite
    let gold = Gold
    let goldenrod = Goldenrod
    let gray = Gray
    let green = Green
    let greenYellow = GreenYellow
    let honeydew = Honeydew
    let hotPink = HotPink
    let indianRed = IndianRed
    let indigo = Indigo
    let ivory = Ivory
    let khaki = Khaki
    let lavender = Lavender
    let lavenderBlush = LavenderBlush
    let lawnGreen = LawnGreen
    let lemonChiffon = LemonChiffon
    let lightBlue = LightBlue
    let lightCoral = LightCoral
    let lightCyan = LightCyan
    let lightGoldenrodYellow = LightGoldenrodYellow
    let lightGray = LightGray
    let lightGreen = LightGreen
    let lightPink = LightPink
    let lightSalmon = LightSalmon
    let lightSeaGreen = LightSeaGreen
    let lightSkyBlue = LightSkyBlue
    let lightSlateGray = LightSlateGray
    let lightSteelBlue = LightSteelBlue
    let lightYellow = LightYellow
    let lime = Lime
    let limeGreen = LimeGreen
    let linen = Linen
    let magenta = Magenta
    let maroon = Maroon
    let mediumAquamarine = MediumAquamarine
    let mediumBlue = MediumBlue
    let mediumOrchid = MediumOrchid
    let mediumPurple = MediumPurple
    let mediumSeaGreen = MediumSeaGreen
    let mediumSlateBlue = MediumSlateBlue
    let mediumSpringGreen = MediumSpringGreen
    let mediumTurquoise = MediumTurquoise
    let mediumVioletRed = MediumVioletRed
    let midnightBlue = MidnightBlue
    let mintCream = MintCream
    let mistyRose = MistyRose
    let moccasin = Moccasin
    let navajoWhite = NavajoWhite
    let navy = Navy
    let oldLace = OldLace
    let olive = Olive
    let oliveDrab = OliveDrab
    let orange = Orange
    let orangeRed = OrangeRed
    let orchid = Orchid
    let paleGoldenrod = PaleGoldenrod
    let paleGreen = PaleGreen
    let paleTurquoise = PaleTurquoise
    let paleVioletRed = PaleVioletRed
    let papayaWhip = PapayaWhip
    let peachPuff = PeachPuff
    let peru = Peru
    let pink = Pink
    let plum = Plum
    let powderBlue = PowderBlue
    let purple = Purple
    let red = Red
    let rosyBrown = RosyBrown
    let royalBlue = RoyalBlue
    let saddleBrown = SaddleBrown
    let salmon = Salmon
    let sandyBrown = SandyBrown
    let seaGreen = SeaGreen
    let seaShell = SeaShell
    let sienna = Sienna
    let silver = Silver
    let skyBlue = SkyBlue
    let slateBlue = SlateBlue
    let slateGray = SlateGray
    let snow = Snow
    let springGreen = SpringGreen
    let steelBlue = SteelBlue
    let tan = Tan
    let teal = Teal
    let thistle = Thistle
    let tomato = Tomato
    let transparent = Transparent
    let turquoise = Turquoise
    let violet = Violet
    let wheat = Wheat
    let white = White
    let whiteSmoke = WhiteSmoke
    let yellow = Yellow
    let yellowGreen = YellowGreen
